﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using TheHeGeo.Util;
using TheHeGeoDao;

namespace TheHeGeo.UserControl
{
    public partial class UcNewUser : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Session["NsdDk"] = null;
            }
        }

        protected void btOk_Click(object sender, EventArgs e)
        {
            lblError.Visible = false;
            if (!txtPwd.Text.Equals(txtRePwd.Text))
            {
                lblError.Visible = true;
                lblError.Text = "Mật khẩu và Nhập lại mật khẩu phải giống nhau";
                return;
            }
            if (DaoHelper.Entities.NguoiSuDungs.FirstOrDefault(p => p.UserName.Equals(txtUserName.Text)) != null)
            {
                lblError.Visible = true;
                lblError.Text = "Tên đăng nhập đã tồn tại, vui lòng thử lại với tên đăng nhập khác";

            }
            else if(DaoHelper.Entities.NguoiSuDungs.FirstOrDefault(p=>p.Email.Equals(txtEmail.Text))!=null)
            {
                lblError.Visible = true;
                lblError.Text = "Email đã tồn tại, vui lòng nhập email khác";
            }
//            else if(!ASPxCaptcha1.IsValid)
//            {
//                lblError.Visible = true;
//                lblError.Text = "Sai mã captcha";
//            }
            else if (ASPxCaptcha1.IsValid)
            {
                
                var nsd = new NguoiSuDung();
                nsd.UserName = txtUserName.Text;
                nsd.Password = UserHelper.UserPwdEncrypt(txtPwd.Text);
                nsd.Email = txtEmail.Text;
                nsd.DienThoai = txtPhone.Text;
                nsd.Role = 2;
                nsd.HoTen = txtHoVaTen.Text;
                nsd.TenCongTy = txtTenCty.Text;
                nsd.DiaChiCongTy = txtDcCty.Text;
                nsd.DiaChiNhaRieng = txtDcNhaRieng.Text;
                nsd.ChucVu = txtChucVu.Text;

                Session["NsdDk"] = nsd;
                var list = new List<string> { txtEmail.Text };
                UserHelper.SendEmail(list, "thehegeo2014@gmail.com ",
                    "Thehegeo.Mã số cá nhân", UserHelper.GenUserPid(txtUserName.Text),
                    "smtp.gmail.com", 587, "thehegeo2014", "12345@trewq");
                ASPxPopupControl1.ShowOnPageLoad = true;
            }
        }

        protected void btFn_Click(object sender, EventArgs e)
        {
            var nsd = (NguoiSuDung) Session["NsdDk"];
            if (!UserHelper.GenUserPid(nsd.UserName).Equals(txtUserId.Text))
            {
                lblPErr.Visible = true;
            }
            else
            {
                DaoHelper.Entities.NguoiSuDungs.Add(nsd);
                DaoHelper.Entities.SaveChanges();
                Session[SessionConst.SES_USER] = new SessionUser() {NguoiSuDung = nsd};
                Response.Redirect("~/Home/Default.aspx");
            }
        }

        protected void btReEmail_Click(object sender, EventArgs e)
        {
            var nsd = (NguoiSuDung)Session["NsdDk"];
            var list = new List<string> { nsd.Email };
            UserHelper.SendEmail(list, "thehegeo2014@gmail.com ",
                    "Thehegeo.Mã số cá nhân", UserHelper.GenUserPid(nsd.Email),
                    "smtp.gmail.com", 587, "thehegeo2014", "12345@trewq");
        }

        protected void btCancel_Click(object sender, EventArgs e)
        {
            ASPxPopupControl1.ShowOnPageLoad = false;
        }

    }
}